package com.jcfk.eam.domain.dto.main;

import com.jcfk.system.domain.dto.BaseDTO;

import java.util.List;

import org.hibernate.validator.constraints.Length;

import lombok.Data;

import java.util.Date;

/**
 * 资产状态变更记录
 *
 * @author yql
 * @email 522891237@gqq.com
 * @date 2024-07-25
 */
@Data
public class EamAssetStatusChangeDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    /**
     * 数据版本号
     */
    private Long version;

    /**
     * 单据号
     */
    @Length(max = 32, message = "单据号长度不能超过32")
    private String recordCode;

    /**
     * 原始凭证号
     */
    @Length(max = 32, message = "原始凭证号长度不能超过32")
    private String originalVoucherNo;

    /**
     * 资产大类
     */
    private Integer assetKind;

    /**
     * 资产主键
     */
    @Length(max = 32, message = "资产主键长度不能超过32")
    private String assetId;

    /**
     * 资产编号
     */
    @Length(max = 32, message = "资产编号长度不能超过32")
    private String assetCode;

    /**
     * 资产名称
     */
    @Length(max = 50, message = "资产名称长度不能超过50")
    private String assetName;

    /**
     * 变更类型
     */
    private Integer changeType;

    /**
     * 变更原因
     */
    @Length(max = 255, message = "变更原因长度不能超过255")
    private String changeReason;

    /**
     * 变更前状态
     */
    private Integer statusBeforeChange;

    /**
     * 变更后状态
     */
    private Integer statusAfterChange;

    /**
     * 备注
     */
    @Length(max = 255, message = "备注长度不能超过255")
    private String remarks;

    /**
     * 组织机构主键
     */
    @Length(max = 32, message = "组织机构主键长度不能超过32")
    private String organizationId;

    /**
     * 创建人名
     */
    @Length(max = 50, message = "创建人名长度不能超过50")
    private String createdUserName;

    /**
     * 更新人名
     */
    @Length(max = 50, message = "更新人名长度不能超过50")
    private String lastUpdatedUserName;

    /**
     * 批量删除id
     */
    private List<String> ids;
}
